Border Gateway Protocol-Multi-Protocol Label Switching virtual private networks (BGP/MPLS VPN) is a mechanism that is defined under Request for Comment 2547 (RFC 2547), which allows service providers to use their IP backbone to provide VPN services for their customers. This mechanism is based on using BGP to distribute VPN routing information to the routers in the backbone network, and using MPLS to forward VPN traffic. MPLS tunnels may already exist or may be created dynamically when needed, which relieves service providers of pre-provisioning large numbers (e.g., tens of thousands) of tunnels. BGP/MPLS VPNs allow service providers to define any arbitrary topology with any number of nodes in a VPN. A service provider can create multiple VPNs using the same core network and typically supports numerous customer VPNs across its network.
The VPN is implemented on provider edge (PE) routers to which customer edge (CE) routers are attached or assigned. The CE router(s) are connected to a PE router via an interface which is associated with a VPN Route Forwarding (VRF) table. Several CE routers may be attached to the same PE router, and even associated with the same VRF. For example, there could be four CE routers in two overlapping VPNs (e.g., CE routers 1 & 2 in VPN1 and CE routers 2, 3 & 4 in VPN2, yet CE routers 3 & 4 attach to the same PE router and the same VRF).
One goal of a service provider for such networks is to minimize the number of VRFs used for implementing the VPNs in the network. This may be accomplished by analyzing the routers, the VRFs and their VPN participation and then reconfiguring all VRF(s) in the network and reassigning CE(s). This procedure is similar to Traffic Engineering the VRFs. However, like Traffic Engineering in Multi-Protocol Label Switching (MPLS), this procedure may be costly and potentially disrupt the VPNs while implementing an optimal design.
An alternative optimization method for minimizing the number of VRFs used for implementing the VPNs in a network is a local optimization method. In such a method, VPNs may be created or modified (i.e., sites added to existing VPN) and VRFs may be created or modified on a PE router so as to maintain an optimal VPN configuration. Such local optimization, however, requires maintaining correct configurations for the VPN(s) on each respective PE router.